package cn.goktech.sports.modules.importDataone.service;

import cn.goktech.sports.common.entity.Page;
import cn.goktech.sports.common.entity.R;
import cn.goktech.sports.modules.importDataone.entity.ImportDataoneEntity;
import cn.goktech.sports.modules.importDataone.entity.WeightLimit;

import java.util.List;
import java.util.Map;

/**
 * 模板一数据
 *
 * @author ZhouChenglin<yczclcn @ 1 6 3 . com>
 */
public interface ImportDataoneService {

    /**
     * 分页查询
     *
     * @param params
     * @return
     */
    Page<ImportDataoneEntity> listImportDataone(Map<String, Object> params);

    /**
     * 新增
     *
     * @param importDataone
     * @return
     */
    R saveImportDataone(ImportDataoneEntity importDataone);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    R getImportDataoneById(Long id);

    /**
     * 修改
     *
     * @param importDataone
     * @return
     */
    R updateImportDataone(ImportDataoneEntity importDataone);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    R batchRemove(Long[] id);

    /**
     * 导入DHL数据
     *
     * @param strings
     * @return
     */
    R addDHL(List<String[]> strings);


    /**
     * 导入EMS数据
     *
     * @param strings
     * @return
     */
    R addEMS(List<String[]> strings);

    /**
     * 导入E特快数据
     *
     * @param strings
     * @return
     */
    R addEFastest(List<String[]> strings);

    /**
     * 导入航空运输数据
     *
     * @param strings
     * @return
     */
    R addAviationTransport(List<String[]> strings);

    /**
     * 导入尺寸标准数据
     *
     * @param strings
     * @return
     */
    R addStandard(List<String[]> strings);


    /**
     * 导入目的地国家数据(带分区)
     *
     * @param strings
     * @return
     */
    R addLevelCountry(List<String[]> strings);

    R addWeightLimit(List<String[]> strings);


    /**
     * 导入目的地国家数据(不带带分区)
     *
     * @param strings
     * @return
     */
    R addCountry(List<String[]> strings);


    /**
     * 导入国际EMS违禁品数据
     *
     * @param strings
     * @return
     */
    R addBaseProhibited(List<String[]> strings);


    /**
     * 导入头程违禁品数据
     *
     * @param strings
     * @return
     */
    R addProhibitedArticle(List<String[]> strings);


    /**
     * 获取限重数据数据
     *
     * @param
     * @return
     */
    List<WeightLimit> getWeightLimit(String productName);

    /**
     * 导入仓库数据
     *
     * @param strings
     * @return
     */
    R addDepot(List<String[]> strings);

    /**
     * 导入分区数据
     *
     * @param strings
     * @return
     */
    R addCountryPartition(List<String[]> strings);

    /**
     * 导入产品分区数据
     *
     * @param strings
     * @return
     */
    R addProductPartition(List<String[]> strings);


    /**
     * 导入直达产品区间计费表数据
     *
     * @param strings
     * @return
     */
    R addThroughSectionCharging(List<String[]> strings);


    /**
     * 导入中速-FedEx数据(原版，备用代码)
     *
     * @param strings
     * @return
     */
    R addFedEx(List<String[]> strings);

    /**
     * 导入中速-FedEx数据
     *
     * @param strings
     * @return
     */
    R addFed(List<String[]> strings);

    /**
     * 导入Dhl前30计费区间数据
     *
     * @param strings
     * @return
     */
    R addDHLChargingSection(List<String[]> strings);
}
